package com.zhongke.cotrun.shiro.web.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongke.cotrun.model.validator.UserValidator;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

/**
 * 用户信息表

 * 
 * @author lee
 * @email wawzj512541@gmail.com
 * @date 2020-01-09 15:14:06
 */
@Data
@TableName("user_info")
public class WebUserEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@TableId(type = IdType.AUTO)
	private Long userId;// 用户id


	private short state;//状态 0:正常 1:删除/注销 2:禁用

	private String type;//账号类型：1 个人2 机构
	private BigInteger addId;//添加该账号的用户id(管理员id)

	private String realName;//真实姓名
	private String loginName;// 登录用户名(如：域账号,C端 登录用户名)

	private String email;// 邮箱地址
	private String nickname;//昵称
	private String phoneNumber;//手机号
	private Date createTime;//创建时间
	private Date updateTime;//最后更新时间
	private String comment;//备注
	private String passwd;//密码

	private String identity;//用户身份多个身份用|隔开审核通过给他加上身份识别 1专家
	@TableField(exist=false)
	private String message;//验证码（数据库没有的字段）
	private short sex;//性别 0男 1女
	private Date birthdate;//出生日期
	private String province;//省
	private String city;//市
	private String accountHead;//头像
	@TableField(exist=false)
	private String keyWord;//关键词
	private String workUnit;//工作单位
	//单位名称
	private String companyName;//单位名称
	private String companyCode;//单位信用代码
	private String companyType;//单位类型单位类型1 私企 2国企 3混合 4外资
	private String businessLicense;//营业执照
	private String serviceProviders;//服务商简介
	private String companyProviders;//公司简介
	private String companyLogo;//公司logo
	private String companyEmail;//公司邮箱
	@TableField(exist=false)
	private String token;	//token
	/**
	 * 角色ID列表
	 */
	@TableField(exist=false)
	private List<Long> roleIdList;
	/**
	 * 角色路由列表
	 */
	@TableField(exist=false)
	private List<WebMenuEntity> menuList;
	/**
	 * 角色按钮列表
	 */
	@TableField(exist=false)
	List<WebMenuEntity> permList;
}
